package com.dhcc.DRGsHosp.facade.impl;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;

import javax.inject.Named;

import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.openkoala.koala.commons.InvokeResult;
import org.openkoala.koalacommons.resourceloader.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

import com.dhcc.DRGsHosp.application.MedicalRecordApplication;
import com.dhcc.DRGsHosp.facade.MrServiceForMrqFacade;
import com.dhcc.DRGsHosp.infra.util.GlobalData;
import com.dhcc.DRGsHosp.infra.util.MonitorResultUtil;

/**
 * @title		:MrServiceForMRQ.java
 * @description	:首页质控接口推送
 * @author		:lileizheng
 * @date		:2017年7月4日
 * @version     :1.0
 * @copyright   :DHCC 2013-2014 
 */
@Named("mrServiceForMRQ20170704llz")
public class MrServiceForMrqFacadeImpl implements MrServiceForMrqFacade{

	@Autowired
	private MedicalRecordApplication medicalrecordApplication;
	
	private static Logger logger = LoggerFactory.getLogger(MrDataImportServiceImpl.class);
	
	@Override
	public InvokeResult admJob(){
		Calendar c = Calendar.getInstance();
		String today = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
		String yesterday4 = MonitorResultUtil.addDay(today, -4);
		System.out.println(yesterday4);
		return admData(yesterday4, yesterday4);
	}
	
	org.apache.cxf.endpoint.Client client; //接口
	String method, param1, param2; //接口地址,方法, 额外参数1,2
	@Override
	public InvokeResult admData(String dateFrom, String dateTo){
		//
		if(client==null){
			try {
				String mrq =  GlobalData.sysConfig.get("MRQ");//获取配置的接口参数
				if(StringUtils.hasLength(mrq)){
					String[] mrqs = mrq.split("θ");
					String url = mrqs[0];
					JaxWsDynamicClientFactory factory=JaxWsDynamicClientFactory.newInstance();
					client = factory.createClient(url);
					method = mrqs[1];
					param1 = mrqs[2];
					param2 = mrqs[3];
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		
//		if(client==null) return InvokeResult.success("请进入系统配置,配置接口信息");
		
		List<Object[]> resultList = medicalrecordApplication.getPatientListByDay(dateFrom, dateTo);
		for(Object[] objs: resultList){
			String xmlStr = "<AdmFirstPage>";
			xmlStr += "<HDSD00.11.118>"+MonitorResultUtil.object2String(objs[1])+"</HDSD00.11.118>";
			xmlStr += "<HDSD00.11.119>"+MonitorResultUtil.object2String(objs[2])+"</HDSD00.11.119>";
			xmlStr += "<HDSD00.11.585>"+MonitorResultUtil.object2String(objs[3])+"</HDSD00.11.585>";
			xmlStr += "<HDSD00.11.117>"+MonitorResultUtil.object2String(objs[4])+"</HDSD00.11.117>";
			xmlStr += "<HDSD00.11.053>"+MonitorResultUtil.object2String(objs[5])+"</HDSD00.11.053>";
			xmlStr += "<HDSD00.11.139>"+MonitorResultUtil.object2String(objs[6])+"</HDSD00.11.139>";
			xmlStr += "<HDSD00.11.006>"+MonitorResultUtil.object2String(objs[7])+"</HDSD00.11.006>";
			xmlStr += "<HDSD00.11.110>"+MonitorResultUtil.object2String(objs[8])+"</HDSD00.11.110>";
			xmlStr += "<HDSD00.11.586>"+MonitorResultUtil.object2String(objs[9])+"</HDSD00.11.586>";
			xmlStr += "<HDSD00.11.109>"+MonitorResultUtil.object2String(objs[10])+"</HDSD00.11.109>";
			xmlStr += "<HDSD00.11.014>"+MonitorResultUtil.object2String(objs[11])+"</HDSD00.11.014>";
			xmlStr += "<HDSD00.11.079>"+MonitorResultUtil.object2String(objs[12])+"</HDSD00.11.079>";
			xmlStr += "<HDSD00.11.080>"+MonitorResultUtil.object2String(objs[13])+"</HDSD00.11.080>";
			xmlStr += "<HDSD00.11.563>"+MonitorResultUtil.object2String(objs[14])+"</HDSD00.11.563>";
			xmlStr += "<HDSD00.11.107>"+MonitorResultUtil.object2String(objs[15])+"</HDSD00.11.107>";
			xmlStr += "<HDSD00.11.108>"+MonitorResultUtil.object2String(objs[16])+"</HDSD00.11.108>";
			xmlStr += "<HDSD00.11.011>"+MonitorResultUtil.object2String(objs[18])+"</HDSD00.11.011>";
			xmlStr += "<HDSD00.11.012>"+MonitorResultUtil.object2String(objs[19])+"</HDSD00.11.012>";
			xmlStr += "<HDSD00.11.013>"+MonitorResultUtil.object2String(objs[20])+"</HDSD00.11.013>";
			xmlStr += "<HDSD00.11.051>"+MonitorResultUtil.object2String(objs[22])+"</HDSD00.11.051>";
			xmlStr += "<HDSD00.11.052>"+MonitorResultUtil.object2String(objs[23])+"</HDSD00.11.052>";
			xmlStr += "<HDSD00.11.590>"+MonitorResultUtil.object2String(objs[24])+"</HDSD00.11.590>";
			xmlStr += "<HDSD00.11.048>"+MonitorResultUtil.object2String(objs[25])+"</HDSD00.11.048>";
			xmlStr += "<HDSD00.11.564>"+MonitorResultUtil.object2String(objs[26])+"</HDSD00.11.564>";
			xmlStr += "<HDSD00.11.587>"+MonitorResultUtil.object2String(objs[27])+"</HDSD00.11.587>";
			xmlStr += "<HDSD00.11.102>"+MonitorResultUtil.object2String(objs[28])+"</HDSD00.11.102>";
			xmlStr += "<HDSD00.11.102>"+MonitorResultUtil.object2String(objs[29])+"</HDSD00.11.102>";
			xmlStr += "<HDSD00.11.103>"+MonitorResultUtil.object2String(objs[30])+"</HDSD00.11.103>";
			xmlStr += "<HDSD00.11.104>"+MonitorResultUtil.object2String(objs[31])+"</HDSD00.11.104>";
			xmlStr += "<HDSD00.11.105>"+MonitorResultUtil.object2String(objs[32])+"</HDSD00.11.105>";
			xmlStr += "<HDSD00.11.026>"+MonitorResultUtil.object2String(objs[33])+"</HDSD00.11.026>";
			xmlStr += "<HDSD00.11.106>"+MonitorResultUtil.object2String(objs[34])+"</HDSD00.11.106>";
			xmlStr += "<HDSD00.11.043>"+MonitorResultUtil.object2String(objs[35])+"</HDSD00.11.043>";
			xmlStr += "<HDSD00.11.043>"+MonitorResultUtil.object2String(objs[36])+"</HDSD00.11.043>";
			xmlStr += "<HDSD00.11.044>"+MonitorResultUtil.object2String(objs[37])+"</HDSD00.11.044>";
			xmlStr += "<HDSD00.11.045>"+MonitorResultUtil.object2String(objs[38])+"</HDSD00.11.045>";
			xmlStr += "<HDSD00.11.046>"+MonitorResultUtil.object2String(objs[39])+"</HDSD00.11.046>";
			xmlStr += "<HDSD00.11.047>"+MonitorResultUtil.object2String(objs[40])+"</HDSD00.11.047>";
			xmlStr += "<HDSD00.11.035>"+MonitorResultUtil.object2String(objs[41])+"</HDSD00.11.035>";
			xmlStr += "<HDSD00.11.034>"+MonitorResultUtil.object2String(objs[42])+"</HDSD00.11.034>";
			xmlStr += "<HDSD00.11.033>"+MonitorResultUtil.object2String(objs[43])+"</HDSD00.11.033>";
			xmlStr += "<HDSD00.11.065>"+MonitorResultUtil.object2String(objs[44])+"</HDSD00.11.065>";
			xmlStr += "<HDSD00.11.562>"+MonitorResultUtil.object2String(objs[45])+"</HDSD00.11.562>";
			xmlStr += "<HDSD00.11.565>"+MonitorResultUtil.object2String(objs[46])+"</HDSD00.11.565>";
			xmlStr += "<HDSD00.11.064>"+MonitorResultUtil.object2String(objs[47])+"</HDSD00.11.064>";
			xmlStr += "<HDSD00.11.591>"+MonitorResultUtil.object2String(objs[49])+"</HDSD00.11.591>";
			xmlStr += "<HDSD00.11.086>"+MonitorResultUtil.object2String(objs[50])+"</HDSD00.11.086>";
			xmlStr += "<HDSD00.11.085>"+MonitorResultUtil.object2String(objs[51])+"</HDSD00.11.085>";
			xmlStr += "<HDSD00.11.085>"+MonitorResultUtil.object2String(objs[52])+"</HDSD00.11.085>";
			xmlStr += "<HDSD00.11.084>"+MonitorResultUtil.object2String(objs[53])+"</HDSD00.11.084>";
			xmlStr += "<HDSD00.11.1004>"+MonitorResultUtil.object2String(objs[54])+"</HDSD00.11.1004>";
			xmlStr += "<HDSD00.11.083>"+MonitorResultUtil.object2String(objs[55])+"</HDSD00.11.083>";
			xmlStr += "<AdmSWardCode>"+MonitorResultUtil.object2String(objs[56])+"</AdmSWardCode>";
			xmlStr += "<HDSD00.11.144>"+MonitorResultUtil.object2String(objs[57])+"</HDSD00.11.144>";
			xmlStr += "<HDSD00.11.019>"+MonitorResultUtil.object2String(objs[59])+"</HDSD00.11.019>";
			xmlStr += "<HDSD00.11.019>"+MonitorResultUtil.object2String(objs[60])+"</HDSD00.11.019>";
			xmlStr += "<HDSD00.11.018>"+MonitorResultUtil.object2String(objs[61])+"</HDSD00.11.018>";
			xmlStr += "<HDSD00.11.1005>"+MonitorResultUtil.object2String(objs[62])+"</HDSD00.11.1005>";
			xmlStr += "<HDSD00.11.017>"+MonitorResultUtil.object2String(objs[63])+"</HDSD00.11.017>";
			xmlStr += "<AdmDWardCode>"+MonitorResultUtil.object2String(objs[64])+"</AdmDWardCode>";
			xmlStr += "<HDSD00.11.087>"+MonitorResultUtil.object2String(objs[65])+"</HDSD00.11.087>";
			xmlStr += "<HDSD00.11.304>"+MonitorResultUtil.object2String(objs[66])+"</HDSD00.11.304>";
			xmlStr += "<HDSD00.11.569>"+MonitorResultUtil.object2String(objs[88])+"</HDSD00.11.569>";
			xmlStr += "<HDSD00.11.570>"+MonitorResultUtil.object2String(objs[89])+"</HDSD00.11.570>";
			xmlStr += "<HDSD00.11.116>"+MonitorResultUtil.object2String(objs[90])+"</HDSD00.11.116>";
			xmlStr += "<HDSD00.11.037>"+MonitorResultUtil.object2String(objs[91])+"</HDSD00.11.037>";
			xmlStr += "<HDSD00.11.596>"+MonitorResultUtil.object2String(objs[92])+"</HDSD00.11.596>";
			xmlStr += "<HDSD00.11.571>"+MonitorResultUtil.object2String(objs[94])+"</HDSD00.11.571>";
			xmlStr += "<HDSD00.11.572>"+MonitorResultUtil.object2String(objs[95])+"</HDSD00.11.572>";
			xmlStr += "<HDSD00.11.572>"+MonitorResultUtil.object2String(objs[96])+"</HDSD00.11.572>";
			xmlStr += "<HDSD00.11.572>"+MonitorResultUtil.object2String(objs[97])+"</HDSD00.11.572>";
			xmlStr += "<HDSD00.11.597>"+MonitorResultUtil.object2String(objs[99])+"</HDSD00.11.597>";
			xmlStr += "<HDSD00.11.003>"+MonitorResultUtil.object2String(objs[100])+"</HDSD00.11.003>";
			xmlStr += "<HDSD00.11.598>"+MonitorResultUtil.object2String(objs[101])+"</HDSD00.11.598>";
			xmlStr += "<HDSD00.11.004>"+MonitorResultUtil.object2String(objs[102])+"</HDSD00.11.004>";
			xmlStr += "<HDSD00.11.601>"+MonitorResultUtil.object2String(objs[103])+"</HDSD00.11.601>";
//			xmlStr += "<HDSD00.11.602>"+MonitorResultUtil.object2String(objs[104])+"</HDSD00.11.602>";
			xmlStr += "<HDSD00.11.056>"+MonitorResultUtil.object2String(objs[109])+"</HDSD00.11.056>";
			xmlStr += "<HDSD00.11.575>"+MonitorResultUtil.object2String(objs[110])+"</HDSD00.11.575>";
			xmlStr += "<HDSD00.11.137>"+MonitorResultUtil.object2String(objs[111])+"</HDSD00.11.137>";
			xmlStr += "<HDSD00.11.576>"+MonitorResultUtil.object2String(objs[112])+"</HDSD00.11.576>";
			xmlStr += "<HDSD00.11.138>"+MonitorResultUtil.object2String(objs[113])+"</HDSD00.11.138>";
			xmlStr += "<HDSD00.11.577>"+MonitorResultUtil.object2String(objs[114])+"</HDSD00.11.577>";
			xmlStr += "<HDSD00.11.141>"+MonitorResultUtil.object2String(objs[115])+"</HDSD00.11.141>";
			xmlStr += "<HDSD00.11.578>"+MonitorResultUtil.object2String(objs[116])+"</HDSD00.11.578>";
			xmlStr += "<HDSD00.11.120>"+MonitorResultUtil.object2String(objs[117])+"</HDSD00.11.120>";
			xmlStr += "<HDSD00.11.054>"+MonitorResultUtil.object2String(objs[118])+"</HDSD00.11.054>";
			xmlStr += "<HDSD00.11.088>"+MonitorResultUtil.object2String(objs[120])+"</HDSD00.11.088>";
			xmlStr += "<HDSD00.11.005>"+MonitorResultUtil.object2String(objs[121])+"</HDSD00.11.005>";
			xmlStr += "<HDSD00.11.007>"+MonitorResultUtil.object2String(objs[122])+"</HDSD00.11.007>";
			xmlStr += "<HDSD00.11.128>"+MonitorResultUtil.object2String(objs[124])+"</HDSD00.11.128>";
//			xmlStr += "<HDSD00.11.583>"+MonitorResultUtil.object2String(objs[123])+"</HDSD00.11.583>";
			xmlStr += "<HDSD00.11.126>"+MonitorResultUtil.object2String(objs[125])+"</HDSD00.11.126>";
			xmlStr += "<HDSD00.11.127>"+MonitorResultUtil.object2String(objs[126])+"</HDSD00.11.127>";
			xmlStr += "<HDSD00.11.603>"+MonitorResultUtil.object2String(objs[127])+"</HDSD00.11.603>";
			xmlStr += "<HDSD00.11.057>"+MonitorResultUtil.object2String(objs[128])+"</HDSD00.11.057>";
			xmlStr += "<HDSD00.11.078>"+MonitorResultUtil.object2String(objs[129])+"</HDSD00.11.078>";
			xmlStr += "<HDSD00.11.545>"+MonitorResultUtil.object2String(objs[130])+"</HDSD00.11.545>";
			xmlStr += "<HDSD00.11.604>"+MonitorResultUtil.object2String(objs[131])+"</HDSD00.11.604>";
			xmlStr += "<HDSD00.11.015>"+MonitorResultUtil.object2String(objs[132])+"</HDSD00.11.015>";
			xmlStr += "<HDSD00.11.016>"+MonitorResultUtil.object2String(objs[133])+"</HDSD00.11.016>";
			xmlStr += "<HDSD00.11.067>"+MonitorResultUtil.object2String(objs[134])+"</HDSD00.11.067>";
			xmlStr += "<HDSD00.11.071>"+MonitorResultUtil.object2String(objs[135])+"</HDSD00.11.071>";
			xmlStr += "<HDSD00.11.072>"+MonitorResultUtil.object2String(objs[136])+"</HDSD00.11.072>";
			xmlStr += "<HDSD00.11.075>"+MonitorResultUtil.object2String(objs[137])+"</HDSD00.11.075>";
			xmlStr += "<HDSD00.11.068>"+MonitorResultUtil.object2String(objs[138])+"</HDSD00.11.068>";
			xmlStr += "<HDSD00.11.069>"+MonitorResultUtil.object2String(objs[139])+"</HDSD00.11.069>";
			xmlStr += "<HDSD00.11.555>"+MonitorResultUtil.object2String(objs[140])+"</HDSD00.11.555>";
			xmlStr += "<HDSD00.11.556>"+MonitorResultUtil.object2String(objs[141])+"</HDSD00.11.556>";
			xmlStr += "<HDSD00.11.557>"+MonitorResultUtil.object2String(objs[142])+"</HDSD00.11.557>";
			xmlStr += "<HDSD00.11.558>"+MonitorResultUtil.object2String(objs[143])+"</HDSD00.11.558>";
			xmlStr += "<ZFY>"+MonitorResultUtil.object2String(objs[146])+"</ZFY>";
			xmlStr += "<ZFFY>"+MonitorResultUtil.object2String(objs[147])+"</ZFFY>";
			String xmlStrE = admExpense(MonitorResultUtil.object2String(objs[0]));
			xmlStr += xmlStrE;
			String xmlStrD = admDiagnose(MonitorResultUtil.object2String(objs[0]));
			xmlStr += xmlStrD;
			String xmlStrO = admOperation(MonitorResultUtil.object2String(objs[0]));
			xmlStr += xmlStrO;

			//首页自定义字段
			xmlStr += "<ZDY01>"+MonitorResultUtil.object2String(objs[67])+"</ZDY01>";//入院时情况代码
			xmlStr += "<ZDY02>"+MonitorResultUtil.object2String(objs[68])+"</ZDY02>";//入院确诊日期
			xmlStr += "<ZDY03>"+MonitorResultUtil.object2String(objs[70])+"</ZDY03>";//病理号2
			xmlStr += "<ZDY04>"+MonitorResultUtil.object2String(objs[71])+"</ZDY04>";//病理号3
			xmlStr += "<ZDY05>"+MonitorResultUtil.object2String(objs[72])+"</ZDY05>";//HBsAg
			xmlStr += "<ZDY06>"+MonitorResultUtil.object2String(objs[73])+"</ZDY06>";//HBsAg代码
			xmlStr += "<ZDY07>"+MonitorResultUtil.object2String(objs[74])+"</ZDY07>";//HCV-Ab
			xmlStr += "<ZDY08>"+MonitorResultUtil.object2String(objs[75])+"</ZDY08>";//HCV-Ab代码
			xmlStr += "<ZDY09>"+MonitorResultUtil.object2String(objs[76])+"</ZDY09>";//HIV-Ab
			xmlStr += "<ZDY10>"+MonitorResultUtil.object2String(objs[77])+"</ZDY10>";//HIV-Ab编码
			xmlStr += "<ZDY11>"+MonitorResultUtil.object2String(objs[78])+"</ZDY11>";//门诊与出院诊断符合情况
			xmlStr += "<ZDY12>"+MonitorResultUtil.object2String(objs[79])+"</ZDY12>";//门诊与出院诊断符合情况编码
			xmlStr += "<ZDY13>"+MonitorResultUtil.object2String(objs[80])+"</ZDY13>";//入院与出院诊断符合情况
			xmlStr += "<ZDY14>"+MonitorResultUtil.object2String(objs[81])+"</ZDY14>";//入院与出院诊断符合情况编码
			xmlStr += "<ZDY15>"+MonitorResultUtil.object2String(objs[82])+"</ZDY15>";//术前与术后诊断符合情况
			xmlStr += "<ZDY16>"+MonitorResultUtil.object2String(objs[83])+"</ZDY16>";//术前与术后诊断符合情况编码
			xmlStr += "<ZDY17>"+MonitorResultUtil.object2String(objs[84])+"</ZDY17>";//临床与病理诊断符合情况
			xmlStr += "<ZDY18>"+MonitorResultUtil.object2String(objs[85])+"</ZDY18>";//临床与病理诊断符合情况编码
			xmlStr += "<ZDY19>"+MonitorResultUtil.object2String(objs[86])+"</ZDY19>";//放射与病理诊断符合情况
			xmlStr += "<ZDY20>"+MonitorResultUtil.object2String(objs[87])+"</ZDY20>";//放射与病理诊断符合情况编码
			xmlStr += "<ZDY21>"+MonitorResultUtil.object2String(objs[93])+"</ZDY21>";//本院第一例
			xmlStr += "<ZDY23>"+MonitorResultUtil.object2String(objs[98])+"</ZDY23>";//示教病例
			xmlStr += "<ZDY24>"+MonitorResultUtil.object2String(objs[104])+"</ZDY24>";//输血品种：红细胞 单位
			xmlStr += "<ZDY25>"+MonitorResultUtil.object2String(objs[105])+"</ZDY25>";//血小板
			xmlStr += "<ZDY26>"+MonitorResultUtil.object2String(objs[106])+"</ZDY26>";//血浆
			xmlStr += "<ZDY27>"+MonitorResultUtil.object2String(objs[107])+"</ZDY27>";//全血
			xmlStr += "<ZDY28>"+MonitorResultUtil.object2String(objs[108])+"</ZDY28>";//其它
			xmlStr += "<ZDY29>"+MonitorResultUtil.object2String(objs[119])+"</ZDY29>";//研究生实习医师
			xmlStr += "<ZDY30>"+MonitorResultUtil.object2String(objs[123])+"</ZDY30>";//病案质量代码
			xmlStr += "<ZDY31>"+MonitorResultUtil.object2String(objs[148])+"</ZDY31>";//重症监护室名称1
			xmlStr += "<ZDY32>"+MonitorResultUtil.object2String(objs[149])+"</ZDY32>";//进入重症监护时间
			xmlStr += "<ZDY33>"+MonitorResultUtil.object2String(objs[150])+"</ZDY33>";//转出重症监护时间
			xmlStr += "<ZDY101>"+MonitorResultUtil.object2String(objs[17])+"</ZDY101>";//出生地详细地
			xmlStr += "<ZDY102>"+MonitorResultUtil.object2String(objs[21])+"</ZDY102>";//籍贯详细地
			xmlStr += "<MZZD>"+MonitorResultUtil.object2String(objs[152])+"</MZZD>";//门诊诊断
			xmlStr += "<MZZDBM>"+MonitorResultUtil.object2String(objs[151])+"</MZZDBM>";//门诊诊断编码
			xmlStr += "<BLZD>"+MonitorResultUtil.object2String(objs[153])+"</BLZD>";//病理诊断
			xmlStr += "<BLZDBM>"+MonitorResultUtil.object2String(objs[154])+"</BLZDBM>";//病理诊断编码
			xmlStr += "<HDSD00.11.008>"+MonitorResultUtil.object2String(objs[69])+"</HDSD00.11.008>";//病理号
			xmlStr += "<SSZDWBYY>"+MonitorResultUtil.object2String(objs[155])+"</SSZDWBYY>";//损伤中毒外部原因
			xmlStr += "<SSZDWBYYBM>"+MonitorResultUtil.object2String(objs[156])+"</SSZDWBYYBM>";//损伤中毒外部原因编码
			
			xmlStr +="</AdmFirstPage>";
			
//			StringBuilder sql = new StringBuilder();
//			sql.append("<?xml version=\"1.0\" encoding=\"GBK\"?>");
//			sql.append("<ROOT>");
//			sql.append("<zzjg>长岛县人民医院</zzjg>");
//			sql.append("<zzjgdm>49364501-7</zzjgdm>");
//			sql.append("<ylfffs>社会基本医疗保险</ylfffs>");
//			sql.append("<ylfffsdm>1</ylfffsdm>");
//			sql.append("<jkkh/>");
//			sql.append("<djczy>2</djczy>");
//			sql.append("<bah>18532</bah>");
//			sql.append("<xm>邹明瑜</xm>");
//			sql.append("<xb>男</xb>");
//			sql.append("<xbdm>1</xbdm>");
//			sql.append("<csrq>1922-01-01 00:00:00</csrq>");
//			sql.append("<nl>94.0</nl>");
//			sql.append("<yl>0.0</yl>");
//			sql.append("<gj>中国</gj>");
//			sql.append("<gjdm>1</gjdm>");
//			sql.append("<xsecstz>0.0000</xsecstz>");
//			sql.append("<xsecstz1/>");
//			sql.append("<xsecstz2/>");
//			sql.append("<xsecstz3/>");
//			sql.append("<xsecstz4/>");
//			sql.append("<xsecstz5/>");
//			sql.append("<xserytz>0.0000</xserytz>");
//			sql.append("<csdxxdz>山东省长岛县</csdxxdz>");
//			sql.append("<csd_s>山东省</csd_s>");
//			sql.append("<csd_sdm>3700000000</csd_sdm>");
//			sql.append("<csd_sq>山东省</csd_sq>");
//			sql.append("<csd_sqdm>3700000000</csd_sqdm>");
//			sql.append("<csd_x>长岛县</csd_x>");
//			sql.append("<csd_xdm>3706340000</csd_xdm>");
//			sql.append("<jgxxd>山东省长岛县</jgxxd>");
//			sql.append("<jg_s/>");
//			sql.append("<jg_sdm/>");
//			sql.append("<jg_shi/>");
//			sql.append("<jg_shidm/>");
//			sql.append("<mz>汉族</mz>");
//			sql.append("<mzdm>1</mzdm>");
//			sql.append("<sfzh/>");
//			sql.append("<zjlx>身份证</zjlx>");
//			sql.append("<zjlxdm>01</zjlxdm>");
//			sql.append("<zy>无业人员</zy>");
//			sql.append("<zydm>8</zydm>");
//			sql.append("<hy>已</hy>");
//			sql.append("<hydm>2</hydm>");
//			sql.append("<xzzxxdz>长岛县南长山镇</xzzxxdz>");
//			sql.append("<xzz_s/>");
//			sql.append("<xzz_sdm/>");
//			sql.append("<xzz_shi/>");
//			sql.append("<xzz_shidm/>");
//			sql.append("<xzz_xdm/>");
//			sql.append("<xzz_qt/>");
//			sql.append("<xzzdh>18663896602</xzzdh>");
//			sql.append("<xzzyb>265800</xzzyb>");
//			sql.append("<hkdzxxd>山东省长岛县</hkdzxxd>");
//			sql.append("<hk_s/>");
//			sql.append("<hk_sdm/>");
//			sql.append("<hk_shi/>");
//			sql.append("<hk_shidm/>");
//			sql.append("<hk_xdm/>");
//			sql.append("<hk_qt/>");
//			sql.append("<hkdzyb>265800</hkdzyb>");
//			sql.append("<gzdbdz/>");
//			sql.append("<gzdwdh/>");
//			sql.append("<gzdwyb>265800</gzdwyb>");
//			sql.append("<lxrxm>邹淑敏</lxrxm>");
//			sql.append("<lxrgx>本人</lxrgx>");
//			sql.append("<lxrgxdm>15</lxrgxdm>");
//			sql.append("<lxrdz>长岛县南长山镇</lxrdz>");
//			sql.append("<lxrdh>18863896602</lxrdh>");
//			sql.append("<rytj>门诊</rytj>");
//			sql.append("<rytjdm>2</rytjdm>");
//			sql.append("<ryrq>2016-09-06</ryrq>");
//			sql.append("<rysj>08:16:53</rysj>");
//			sql.append("<rykb>外科</rykb>");
//			sql.append("<rykbdm>008</rykbdm>");
//			sql.append("<rybf/>");
//			sql.append("<rybfdm/>");
//			sql.append("<zkkb>外科</zkkb>");
//			sql.append("<zkkbdm>008</zkkbdm>");
//			sql.append("<cyrq>2016-09-09</cyrq>");
//			sql.append("<cysj>11:01:47</cysj>");
//			sql.append("<cykb>外科222</cykb>");
//			sql.append("<cykbdm>008</cykbdm>");
//			sql.append("<cybf/>");
//			sql.append("<cybfdm/>");
//			sql.append("<sjzyjt>4</sjzyjt>");
//			sql.append("<rysqk>一般</rysqk>");
//			sql.append("<rysqkdm>3</rysqkdm>");
//			sql.append("<ryhqzrq>2016-09-06 08:16:53</ryhqzrq>");
//			sql.append("<blh/>");
//			sql.append("<blh2/>");
//			sql.append("<blh3/>");
//			sql.append("<hbsag>0</hbsag>");
//			sql.append("<hbsagdm/>");
//			sql.append("<hcv>0</hcv>");
//			sql.append("<hcvdm/>");
//			sql.append("<hiv>0</hiv>");
//			sql.append("<hivdm/>");
//			sql.append("<zdmzycy>一致</zdmzycy>");
//			sql.append("<zdmzycydm>1</zdmzycydm>");
//			sql.append("<zdruycy>一致</zdruycy>");
//			sql.append("<zdruycydm>1</zdruycydm>");
//			sql.append("<zdxqyxh>一致</zdxqyxh>");
//			sql.append("<zdxqyxhdm>1</zdxqyxhdm>");
//			sql.append("<zdlcybl/>");
//			sql.append("<zdlcybldm>0</zdlcybldm>");
//			sql.append("<zdfsybl/>");
//			sql.append("<zdfsybldm>0</zdfsybldm>");
//			sql.append("<qjcs>0</qjcs>");
//			sql.append("<qjcgcs>0</qjcgcs>");
//			sql.append("<ywgm>1</ywgm>");
//			sql.append("<ywgmdm>0</ywgmdm>");
//			sql.append("<gmyw/>");
//			sql.append("<swhzsj>否</swhzsj>");
//			sql.append("<swhzsjdm>0</swhzsjdm>");
//			sql.append("<sxzljczddyl>否</sxzljczddyl>");
//			sql.append("<dyldm>2</dyldm>");
//			sql.append("<sfsz>否</sfsz>");
//			sql.append("<sfszdm>0</sfszdm>");
//			sql.append("<szqxn>0</szqxn>");
//			sql.append("<szqxy>0</szqxy>");
//			sql.append("<szqzxz>0</szqzxz>");
//			sql.append("<sljc>否</sljc>");
//			sql.append("<sljcdm>2</sljcdm>");
//			sql.append("<aboxx>O型</aboxx>");
//			sql.append("<aboxxdm>6</aboxxdm>");
//			sql.append("<rhxx>未查</rhxx>");
//			sql.append("<rhxxdm>4</rhxxdm>");
//			sql.append("<sxfy>无</sxfy>");
//			sql.append("<sxfydm>3</sxfydm>");
//			sql.append("<hxbdw>0.00</hxbdw>");
//			sql.append("<xxbdw>0</xxbdw>");
//			sql.append("<xj>0</xj>");
//			sql.append("<qx>0</qx>");
//			sql.append("<sxpzqt>0</sxpzqt>");
//			sql.append("<kzr/>");
//			sql.append("<kzrdm/>");
//			sql.append("<zrys/>");
//			sql.append("<zrysdm/>");
//			sql.append("<zzys/>");
//			sql.append("<zzysdm/>");
//			sql.append("<zyys/>");
//			sql.append("<zyysdm/>");
//			sql.append("<zrhs/>");
//			sql.append("<zrhsdm/>");
//			sql.append("<jxys/>");
//			sql.append("<jxysdm/>");
//			sql.append("<yjssxys/>");
//			sql.append("<yjssxysdm/>");
//			sql.append("<sxys/>");
//			sql.append("<sxysdm/>");
//			sql.append("<bmy/>");
//			sql.append("<bmydm/>");
//			sql.append("<bazl/>");
//			sql.append("<bazldm>0</bazldm>");
//			sql.append("<zkys/>");
//			sql.append("<zkysdm/>");
//			sql.append("<zkhs/>");
//			sql.append("<zkhsdm/>");
//			sql.append("<zkrq>2016-09-0911:01:47</zkrq>");
//			sql.append("<lyfs>医嘱离院</lyfs>");
//			sql.append("<lyfsdm>1</lyfsdm>");
//			sql.append("<yzzyyljg/>");
//			sql.append("<yzzsyljg/>");
//			sql.append("<cyzzyjh>有</cyzzyjh>");
//			sql.append("<cyzzyjhdm>1</cyzzyjhdm>");
//			sql.append("<cyzzymd/>");
//			sql.append("<ryqhmjd>0</ryqhmjd>");
//			sql.append("<ryqhmjxs>0</ryqhmjxs>");
//			sql.append("<ryqhmjfz>0</ryqhmjfz>");
//			sql.append("<ryhhmjd>0</ryhhmjd>");
//			sql.append("<ryhhmjxs>0</ryhhmjxs>");
//			sql.append("<ryhhmjfz>0</ryhhmjfz>");
//			sql.append("<swsj>1900-01-01 00:00:00</swsj>");
//			sql.append("<hxjsysj/>");
//			sql.append("<zlfq/>");
//			sql.append("<zlfq_t/>");
//			sql.append("<zlfq_n/>");
//			sql.append("<zlfq_m/>");
//			sql.append("<zlfq_robson/>");
//			sql.append("<zgzdyj/>");
//			sql.append("<fhcd/>");
//			sql.append("<zyzd>腰1椎体压缩骨折</zyzd>");
//			sql.append("<zyzdjbbm>S32.001</zyzdjbbm>");
//			sql.append("<zyzdrybq>治愈</zyzdrybq>");
//			sql.append("<zyzdrybqdm>1</zyzdrybqdm>");
//			sql.append("<zyzdcyqk/>");
//			sql.append("<zyzdcyqkdm/>");
//			sql.append("<Qtzd>");
//			sql.append("<SEC>");
//			sql.append("<zdmc>高血压病</zdmc>");
//			sql.append("<icd10_code>I10.x00</icd10_code>");
//			sql.append("<rybqmc>治愈</rybqmc>");
//			sql.append("<rybq>1</rybq>");
//			sql.append("<cyqk/>");
//			sql.append("<cyqkdm/>");
//			sql.append("</SEC>");
//			sql.append("</Qtzd>");
//			sql.append("<mzzdxy>腰1椎体压缩骨折</mzzdxy>");
//			sql.append("<mzzdxyjbbm>S32.001</mzzdxyjbbm>");
//			sql.append("<ryzd>腰1椎体压缩骨折</ryzd>");
//			sql.append("<ryzdjbbm>S32.001</ryzdjbbm>");
//			sql.append("<ryzdrybq>治愈</ryzdrybq>");
//			sql.append("<ryzdrybqdm>1</ryzdrybqdm>");
//			sql.append("<blzd/>");
//			sql.append("<blzddm/>");
//			sql.append("<sszddwbyy>摔伤</sszddwbyy>");
//			sql.append("<sszddwbyydm/>");
//			sql.append("<yygrzd/>");
//			sql.append("<yygrzdbm/>");
//			sql.append("<Ss>");
//			sql.append("<SEA>");
//			sql.append("<ssmc>椎体成形术</ssmc>");
//			sql.append("<ssdm>65001</ssdm>");
//			sql.append("<ssjczlxczrq/>");
//			sql.append("<djmc>一级手术</djmc>");
//			sql.append("<ssdj>1</ssdj>");
//			sql.append("<ssysmc>唐家海</ssysmc>");
//			sql.append("<ssys>2042</ssys>");
//			sql.append("<sszs1mc>杨涛</sszs1mc>");
//			sql.append("<sszs1>1021</sszs1>");
//			sql.append("<mzfsmc>局部浸润麻醉</mzfsmc>");
//			sql.append("<mzfs>1</mzfs>");
//			sql.append("</SEA>");
//			sql.append("</Ss>");
//			sql.append("<ZFY>27910.96</ZFY>");
//			sql.append("<ZFJE>0.00</ZFJE>");
//			sql.append("<YLFUF>0.00</YLFUF>");
//			sql.append("<ZLCZF>0.00</ZLCZF>");
//			sql.append("<HLF>558.00</HLF>");
//			sql.append("<QTFY>0.00</QTFY>");
//			sql.append("<BLZDF>0.00</BLZDF>");
//			sql.append("<SYSZDF>0.00</SYSZDF>");
//			sql.append("<YXXZDF>0.00</YXXZDF>");
//			sql.append("<LCZDXMF>0.00</LCZDXMF>");
//			sql.append("<FSSZLXMF>0.00</FSSZLXMF>");
//			sql.append("<WLZLF>0.00</WLZLF>");
//			sql.append("<SSZLF>0.00</SSZLF>");
//			sql.append("<MAF>0.00</MAF>");
//			sql.append("<SSF>0.00</SSF>");
//			sql.append("<KFF>0.00</KFF>");
//			sql.append("<ZYZLF>0.00</ZYZLF>");
//			sql.append("<XYF>4280.36</XYF>");
//			sql.append("<KJYWF>0.00</KJYWF>");
//			sql.append("<ZCYF>625.32</ZCYF>");
//			sql.append("<ZCYF1>0.00</ZCYF1>");
//			sql.append("<XF>0.00</XF>");
//			sql.append("<BDBLZPF>0.00</BDBLZPF>");
//			sql.append("<QDBLZPF>0.00</QDBLZPF>");
//			sql.append("<NXYZLZPF>0.00</NXYZLZPF>");
//			sql.append("<XBYZLZPF>0.00</XBYZLZPF>");
//			sql.append("<HCYYCLF>0.00</HCYYCLF>");
//			sql.append("<YYCLF>0.00</YYCLF>");
//			sql.append("<YCXYYCLF>0.00</YCXYYCLF>");
//			sql.append("<QTF>22447.28</QTF>");
//			sql.append("<zz_ys/>");
//			sql.append("<zz_ysdm/>");
//			sql.append("<shnlpdlbdf_ry/>");
//			sql.append("<shnlpdlbdf_cy/>");
//			sql.append("<zczlf/>");
//			sql.append("<ghf/>");
//			sql.append("<cwf/>");
//			sql.append("<ybzlf1/>");
//			sql.append("<hlzlf1/>");
//			sql.append("<jhjfzhxf/>");
//			sql.append("<syf/>");
//			sql.append("<hlf/>");
//			sql.append("<qtfy1/>");
//			sql.append("<blf1/>");
//			sql.append("<hyf1/>");
//			sql.append("<hsjc/>");
//			sql.append("<csf/>");
//			sql.append("<fsf/>");
//			sql.append("<ybjcf1/>");
//			sql.append("<lcwlzlf1/>");
//			sql.append("<hszl/>");
//			sql.append("<tszlf/>");
//			sql.append("<jszlf/>");
//			sql.append("<mzf1/>");
//			sql.append("<ssf1/>");
//			sql.append("<jrzlf/>");
//			sql.append("<jsf/>");
//			sql.append("<kfzlf/>");
//			sql.append("<zyzlf1/>");
//			sql.append("<kjzlf/>");
//			sql.append("<xyf1/>");
//			sql.append("<zcyf1/>");
//			sql.append("<sxf1/>");
//			sql.append("<bdblzpf1/>");
//			sql.append("<qdblzpf1/>");
//			sql.append("<nxyzlzpf1/>");
//			sql.append("<xbyzlzpf1/>");
//			sql.append("<jcyyccylclf/>");
//			sql.append("<zlyyccylclf/>");
//			sql.append("<jryyccylclf/>");
//			sql.append("<ssyyccylclf/>");
//			sql.append("</ROOT>");
//			String xmlStr = sql.toString();
			//调用首页质控接口，传输病案首页数据
			String result = "";
		 try {/*
				Object[] object = client.invoke(method, xmlStr, param1, param2);
				result = (String) object[0]; 
				System.out.println(result);
				result = xmlStr;
			*/} catch (Exception e) {
				result = "病例"+objs[0]+"报错："+e.toString();
				e.printStackTrace();
			}
			System.out.println(result);
			logger.info(result);
		}
		return InvokeResult.success("导入完毕, 共"+resultList.size()+"条");
//			return InvokeResult.success();
	}
	
	/**
	 * @methodname    :admDiagnose
	 * @description   : 拼接诊断xml
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2017年7月5日
	 */
	public String admDiagnose(String pmainindex){
		String xmlStr = "<Diagnoses>";
		List<Object[]> resultList = medicalrecordApplication.getDiagnoseListById(pmainindex);
		for(Object[] objs: resultList){
			String pdType = MonitorResultUtil.object2String(objs[1]);
			if("M".equals(pdType)){
				xmlStr += "<A>";
				xmlStr += "<HDSD00.11.024>"+MonitorResultUtil.object2String(objs[2])+"</HDSD00.11.024>";
				xmlStr += "<HDSD00.11.023>"+MonitorResultUtil.object2String(objs[3])+"</HDSD00.11.023>";
				xmlStr += "<HDSD00.11.025>"+MonitorResultUtil.object2String(objs[4])+"</HDSD00.11.025>";
				xmlStr += "<HDSD00.11.304>"+MonitorResultUtil.object2String(objs[5])+"</HDSD00.11.304>";
				xmlStr += "</A>";
			}else{
				xmlStr += "<B>";
				xmlStr += "<HDSD00.11.024>"+MonitorResultUtil.object2String(objs[2])+"</HDSD00.11.024>";
				xmlStr += "<HDSD00.11.023>"+MonitorResultUtil.object2String(objs[3])+"</HDSD00.11.023>";
				xmlStr += "<HDSD00.11.025>"+MonitorResultUtil.object2String(objs[4])+"</HDSD00.11.025>";
				xmlStr += "<HDSD00.11.304>"+MonitorResultUtil.object2String(objs[5])+"</HDSD00.11.304>";
				xmlStr += "</B>";
			}
		}
		xmlStr += "</Diagnoses>";
		return xmlStr;
	}
	
	/**
	 * @methodname    :admOperation
	 * @description   : 拼接手术xml
	 * @param         :
	 * @author        :lileizheng
	 * @return        :
	 * @date          :2017年7月5日
	 */
	public String admOperation(String pmainindex){
		String xmlStr = "<Operations>";
		List<Object[]> resultList = medicalrecordApplication.getOperationListById(pmainindex);
		for(Object[] objs: resultList){
			xmlStr += "<Operation>";
			xmlStr += "<HDSD00.11.090>"+MonitorResultUtil.object2String(objs[1])+"</HDSD00.11.090>";
			xmlStr += "<HDSD00.11.089>"+MonitorResultUtil.object2String(objs[2])+"</HDSD00.11.089>";
			xmlStr += "<HDSD00.11.091>"+MonitorResultUtil.object2String(objs[3])+"</HDSD00.11.091>";
			xmlStr += "<HDSD00.11.605>"+MonitorResultUtil.object2String(objs[4])+"</HDSD00.11.605>";
			xmlStr += "<HDSD00.11.092>"+MonitorResultUtil.object2String(objs[5])+"</HDSD00.11.092>";
			xmlStr += "<HDSD00.11.094>"+MonitorResultUtil.object2String(objs[6])+"</HDSD00.11.094>";
			xmlStr += "<HDSD00.11.407>"+MonitorResultUtil.object2String(objs[7])+"</HDSD00.11.407>";
			xmlStr += "<HDSD00.11.001>"+MonitorResultUtil.object2String(objs[8])+"</HDSD00.11.001>";
			xmlStr += "<HDSD00.11.408>"+MonitorResultUtil.object2String(objs[9])+"</HDSD00.11.408>";
			xmlStr += "<HDSD00.11.002>"+MonitorResultUtil.object2String(objs[10])+"</HDSD00.11.002>";
			xmlStr += "<HDSD00.11.409>"+MonitorResultUtil.object2String(objs[11])+"</HDSD00.11.409>";
			xmlStr += "<ZDY34>"+MonitorResultUtil.object2String(objs[12])+"</ZDY34>";
			xmlStr += "<HDSD00.11.070>"+MonitorResultUtil.object2String(objs[13])+"</HDSD00.11.070>";
			xmlStr += "<HDSD00.11.615>"+MonitorResultUtil.object2String(objs[14])+"</HDSD00.11.615>";
			xmlStr += "<HDSD00.11.093>"+MonitorResultUtil.object2String(objs[15])+"</HDSD00.11.093>";
			xmlStr += "<HDSD00.11.073>"+MonitorResultUtil.object2String(objs[16])+"</HDSD00.11.073>";
			xmlStr += "</Operation>";
		}
		xmlStr += "</Operations>";
		return xmlStr;
	}
	
	public String admExpense(String pmainindex){
		String xmlStr = "";
		List<Object[]> resultList = medicalrecordApplication.getExpenseListById(pmainindex);
		if(resultList.size()>0){
			Object[] objs = resultList.get(0);
			xmlStr += "<ZHENCHF>"+MonitorResultUtil.object2String(objs[1])+"</ZHENCHF>";
			xmlStr += "<YIBZHLF>"+MonitorResultUtil.object2String(objs[2])+"</YIBZHLF>";
			xmlStr += "<HULZHLF>"+MonitorResultUtil.object2String(objs[3])+"</HULZHLF>";
			xmlStr += "<QTFY>"+MonitorResultUtil.object2String(objs[4])+"</QTFY>";
			xmlStr += "<BINGLF>"+MonitorResultUtil.object2String(objs[5])+"</BINGLF>";
			xmlStr += "<HUAYF>"+MonitorResultUtil.object2String(objs[6])+"</HUAYF>";
			xmlStr += "<YIBJCHF>"+MonitorResultUtil.object2String(objs[7])+"</YIBJCHF>";
			xmlStr += "<LCZDXMF>"+MonitorResultUtil.object2String(objs[8])+"</LCZDXMF>";
			xmlStr += "<FSSZLXMF>"+MonitorResultUtil.object2String(objs[9])+"</FSSZLXMF>";
			xmlStr += "<LINCHWLZHLF>"+MonitorResultUtil.object2String(objs[10])+"</LINCHWLZHLF>";
			xmlStr += "<SSZLF>"+MonitorResultUtil.object2String(objs[11])+"</SSZLF>";
			xmlStr += "<MAZF>"+MonitorResultUtil.object2String(objs[12])+"</MAZF>";
			xmlStr += "<SHOUSHF>"+MonitorResultUtil.object2String(objs[13])+"</SHOUSHF>";
			xmlStr += "<ZHONGYZHLF>"+MonitorResultUtil.object2String(objs[14])+"</ZHONGYZHLF>";
			xmlStr += "<KANGFZHLF>"+MonitorResultUtil.object2String(objs[15])+"</KANGFZHLF>";
			xmlStr += "<XIYF>"+MonitorResultUtil.object2String(objs[16])+"</XIYF>";
			xmlStr += "<KANGJYWF>"+MonitorResultUtil.object2String(objs[17])+"</KANGJYWF>";
			xmlStr += "<ZHONGCHYF>"+MonitorResultUtil.object2String(objs[18])+"</ZHONGCHYF>";
			xmlStr += "<ZHONGCYF>"+MonitorResultUtil.object2String(objs[19])+"</ZHONGCYF>";
			xmlStr += "<SHUXF>"+MonitorResultUtil.object2String(objs[20])+"</SHUXF>";
			xmlStr += "<BAIDBLZHPF>"+MonitorResultUtil.object2String(objs[21])+"</BAIDBLZHPF>";
			xmlStr += "<QIUDBLZHPF>"+MonitorResultUtil.object2String(objs[22])+"</QIUDBLZHPF>";
			xmlStr += "<NINGXYZLZHPF>"+MonitorResultUtil.object2String(objs[23])+"</NINGXYZLZHPF>";
			xmlStr += "<XIBYZLZHPF>"+MonitorResultUtil.object2String(objs[24])+"</XIBYZLZHPF>";
			xmlStr += "<JIANCHCLF>"+MonitorResultUtil.object2String(objs[25])+"</JIANCHCLF>";
			xmlStr += "<ZHILCLF>"+MonitorResultUtil.object2String(objs[26])+"</ZHILCLF>";
			xmlStr += "<SHOUSHCLF>"+MonitorResultUtil.object2String(objs[27])+"</SHOUSHCLF>";
			xmlStr += "<QITF>"+MonitorResultUtil.object2String(objs[28])+"</QITF>";
		}
		return xmlStr;
	}
}
